import { createApp } from 'vue';
import { createPinia } from 'pinia';
import App from './App.vue';
import 'normalize.css';

// 全局样式-字体
import '@/assets/css/font.scss';
import '@/assets/css/global.scss';
import router from './router';

// 初始化vue
const initVue = () => {
    const app = createApp(App);
    app.use(router).use(createPinia()).mount('#app');
};
// 项目是否拥有登录页面,有登录页面就不需要请求万能token，没有登录页面就需要请求万能token
// fase是不需要登录(不会请求登录信息)，true需要登录
// 免登录方式
const hasLogin = false;
// 初始化core实例
const initCore = () => {
    window.TiIns = new window.Ti({
        host: window.config.host,
        tenantCode: window.config.tenantCode,
        tokenCode: 'PENG_TOKEN',
        depends: ['thingjs', 'uearth', 'EffectThemeControl'], // 依赖-参数固定-thingjs uearth EffectThemeControl
        hasLogin, // 是否需要登录 默认false 免登录  true 需要登录
        thingjsAuth: true, // thingjs是否需要授权 默认false
        initCb: () => {
            // 初始化屏幕适配
            window.TiIns.ScreenAdapter(1920, 1080, 'app', '#fff');
            // 核心初始化完毕
            initVue();
        },
    });
};

// 登录方式
/* const hasLogin = true;
/// 登录后本地存储的token，名称随意,避免刷新后报无token错误
const hasToken = window.localStorage.getItem('ACCESS_TOKEN');
// 初始化core实例
const initCore = () => {
    window.TiIns = new window.Ti({
        host: window.config.host,
        tenantCode: window.config.tenantCode,
        token: hasToken,
        depends: ['thingjs', 'EffectThemeControl'], // 依赖-参数固定-thingjs uearth EffectThemeControl
        hasLogin, // 是否需要登录 默认false 免登录  true 需要登录
        thingjsAuth: true, // thingjs是否需要授权 默认false
        initCb: () => {
            // 核心初始化完毕
            // 初始化屏幕适配
            window.TiIns.ScreenAdapter(1920, 1080, 'app', '#fff');
            // 初始化vue
            initVue();
            // 跳转登录
            if (hasLogin && !hasToken) {
                router.push('/login');
            }
        },
        requestFailCb: (res: any) => {
            // 接口请求报错回调，当返回token失效时，需要自行处理跳转登录
            console.log('接口请求报错', res);
            router.push('/login');
        },
    });
}; */
initCore();
